Information technology (IT) departments have embraced the capabilities of virtualization and cloud computing to move towards a more cost-effective and agile model of delivering IT as a service. Virtualization can provide efficient pooling and standardization of resources. Likewise, cloud computing can enable process automation mechanisms that allow users to consume infrastructure without manual provisioning and configuration. One of the key benefits generally afforded by cloud computing is the removal of the complexity and overhead associated with the ownership and management of one's own hardware and software components. While the introduction of cloud computing and virtualization services is of large benefit to end users and providers alike, configuration procedures associated with service initiation and/or service expansion involve significant overhead in designating and preparing the required network and compute resources prior to the configuration and installation of software. At present, network administrators may create a custom automation on a per environment basis or manually deploy the resources required and configure services where applicable. Notably, a person developing the automation for such processes requires a very strong knowledge of both i) the software that is being deployed and ii) the underlying logical and physical infrastructure to support the deployment. In addition to requiring a certain level of expertise, deploying required resources in this manner is an extremely time consuming task that can create deployment delays and usually results in a solution that is limited to the specific environment scenario.